# This file is a part of the open-eBackup project.
# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
# If a copy of the MPL was not distributed with this file, You can obtain one at
# http://mozilla.org/MPL/2.0/.
#
# Copyright (c) [2024] Huawei Technologies Co.,Ltd.
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
from sqlalchemy import Column, String, ForeignKey

from app.resource.models.resource_models import EnvironmentTable
from app.resource.schemas.import_resource_schema import ImportResourceSchema


class ImportResourceTable(EnvironmentTable):
    __tablename__ = 'import_resources'
    __table_args__ = {'extend_existing': True}
    __discriminator__ = __tablename__

    uuid = Column(String(64), ForeignKey(EnvironmentTable.uuid, ondelete="CASCADE"), primary_key=True)
    location = Column(String(128))

    __mapper_args__ = {
        'polymorphic_identity': __discriminator__,
    }

    __relation__ = {
        "schema": ImportResourceSchema
    }
